Algorithmus zur Fahrpreisermittlung

Die Abfolge aller Entscheidungen, die zur Auswahl der auf einem Weg verwendeten Fahrkarte(n) führen, kann als Algorithmus formuliert werden. Daran wird die Bedeutung der Ränge für Tarifsysteme und Fahrkarten besonders deutlich.

Jeder Weg besteht aus einer Folge von Teilwegen. Jeder Teilweg besitzt eine ÖV-Linie, die mit einem oder mehreren Tarifsystemen verknüpft ist (bzw. ein ÖV-Zusatz-Verkehrssystem, das ebenfalls Tarifsystemen zugeordnet ist). Der Algorithmus zur Fahrpreisermittlung lautet damit wie folgt:

1.  Ermittlung der Tarifsysteme:

Gehe über alle möglichen Tarifsystem-Kombinationen für die verschiedenen Teilwege, und zwar in absteigender Rang-Ordnung (wobei Rang der Kombination := Maximum der Ränge der Tarifsysteme in der Kombination). Berechne den Fahrpreis für jede Kombination gemäß Schritt 2. Wähle aus den Tarifsystem-Kombinationen vom gleichen Rang diejenige mit dem kleinsten gewichteten Fahrpreis aus. Im Gegensatz zum Fahrpreis wird beim gewichteten Fahrpreis das Preisgewicht für das jeweilige Tarifsystem berücksichtigt. Sind alle Tarifsystem-Kombinationen eines Rangs ungültig, betrachte die Kombinationen des nächsten Rangs. Gibt es keine gültige Tarifsystem-Kombination, gilt der globale Rückfall-Fahrpreis.

2.  Betrachtung einer Tarifsystem-Kombination:

Sind feste Tarifsystem für alle Teilwege gegeben, gehe über alle verwendeten Tarifsysteme und berechne ihre Fahrpreise gemäß Schritt 3. Führen diese Berechnungen alle zu einem gültigen Fahrpreis, ist die Summe ein gültiger Fahrpreis für den Gesamt-Weg. Falls nicht, ist diese Tarifsystem-Kombination ungültig.

3.  Betrachtung eines Tarifsystem auf allen ihm zugeordneten Teilwegen:

Bestimme anhand des Tarifsystem-Attributs Fahrpreis-Bezug, für welche Untermengen der Tarifsystem-Teilwege separate Fahrkartenarten verwendet werden müssen. Gehe über alle diese Teilweg-Untermengen und berechne ihre Fahrpreise gemäß Schritt 4. Liefern alle Berechnungen eine gültigen Fahrpreis, ist die Summe ein gültiger Fahrpreis für das Tarifsystem. Falls nicht, schlägt die Fahrpreisberechnung für dieses Tarifsystem fehl.

4.  Betrachtung eines Tarifsystem auf einer Teilweg-Untermenge:

Für ein Tarifsystem und eine vorgegebene Teilweg-Untermenge gehe über alle Fahrkartenarten, die vom Tarifsystem verwendet werden, und zwar in absteigender Rang-Ordnung. Berechne den Fahrpreis für jede Fahrkartenart gemäß Schritt 5. Wähle aus den Fahrkartenarten vom gleichen Rang diejenige mit dem kleinsten Fahrpreis aus. Sind alle Fahrkartenarten eines Rangs nicht anwendbar, betrachte die Fahrkartenarten des nächsten Rangs. Gibt es keine anwendbare Fahrkartenart, ist das Tarifsystem auf dieser Teilweg-Untermenge nicht zulässig.

5.  Betrachtung einer Fahrkartenart auf einer Teilweg-Untermenge:

Berechne den Grundpreis gemäß Tarifstruktur der Fahrkartenart (Entfernungstarif, Zonentarif, Von-Nach-Zonentarif, Kurzstreckentarif). Wenn die Tariftabelle keinen gültigen Eintrag enthält, ist die Fahrkartenart nicht anwendbar. Addiere den Anfangsfahrpreis für den ersten Teilweg des Wegs. Addiere den Umstiegsfahrpreis entsprechend den Tarifsystemen, zwischen denen umgestiegen wurde.

Sofern für die Fahrkartenart entfernungsabhängige Zuschläge aktiviert sind, ermittle und addiere den entfernungsabhängigen Zuschlag für die gezählte Anzahl Tarifpunkte. Enthält die Zuschlagstabelle keinen passenden Eintrag, ist die Fahrkartenart nicht anwendbar. Ermittle und addiere den fixen Zuschlag. Vergleiche den Gesamtpreis mit den Mindestpreisen aller vorkommenden Verkehrssysteme und erhöhe ihn bei Bedarf.